home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Answers 2002 January
/
PC Answers January 2002.7z
/
PC Answers January 2002.bin
/
graphics
/
freepixl
/
_SETUP.1
/
dlgwrite.pxl
< prev
next >
Wrap
Text File
|
2000-12-23
|
18KB
|
449 lines
{ Filename : dlgwrite.pxl
Purpose : Dialog box selection + creation
Date : March 22, 2000
Author : Stewart DIBBS, VYSOR
History:
Version : 4.40 RELEASE
Update :
Date :
--------------------------------------------------------------------------}
Initialize: {only one instance allowed}
UseCoordinates(PIXEL)
Title$ = "PiXCL Dialog Code Writer"
WinExist(Title$,Res)
If Res = 0 Then Goto One_Instance
Beep
WinSetActive(Title$,Res)
WinShow(Title$,RESTORE,Res)
End
One_Instance:
UseCaption(Title$) {change the title}
WinLocate(Title$,591,145,808,344,Res)
UseBackground(TRANSPARENT,255,255,255)
WinShow(Title$,TOPMOST,Res)
DrawBackGround
DirGet(SourceDir$) {used later for library function calls}
{DragAcceptFile(ENABLE,AcceptFile)}
AutoProgressBar(DISABLE)
InfoMenu(REMOVE)
WaitInput(100)
SetMenu("&File",IGNORE,
"&New",CreatingFile,
"&Open",OpeningFile,
"&Save",SavingFile,
SEPARATOR,
"E&xit!",Terminate,
ENDPOPUP,
"&View",IGNORE,
"&ToolBar",ViewToolBar,
"&StatusBar",ViewStatusBar,
ENDPOPUP,
"&Information",IGNORE,
"&Concept",Concept,
"&Help",ShowAppHelp,
SEPARATOR,
"&About",About,
ENDPOPUP)
GoSub MakeToolbar
ChangeMenuItem("&ToolBar",CHECK,TBRes)
StatusWindow(ENABLE,BOTTOM,2,200,-1,0,0)
DrawStatusWinText(0,"Ready")
ChangeMenuItem("&StatusBar",CHECK,SBRes)
GoSub SetUpCodeFragments
Wait_for_Input:
WaitInput()
Terminate:
End
Concept:
MessageBox(OK,1,INFORMATION,
"This is a skeleton of a PiXCL application. You could briefly
describe your application's function here, or provide some
basic help information.",
"PiXCL Skeleton Concept",Res)
Goto Wait_for_Input
ShowAppHelp:
{An application Help file usually has the same name as the application.}
Winhelp("dlgwrite.hlp",CONTENTS,"")
Goto Wait_for_Input
About:
AboutUser("PiXCL Dialog Code Writer", { or substitute Title$}
"Two lines of text goes here e.g. Application function.",
"Four Lines of additional information goes here, perhaps contact information and Web addresses")
Goto Wait_for_Input
ViewToolBar:
GetMenuStatus("&ToolBar",CHECKED,Res)
If Res = 0
GoSub MakeToolbar
ChangeMenuItem("&ToolBar",CHECK,Res)
Else
Toolbar()
ChangeMenuItem("&ToolBar",UNCHECK,Res)
Endif
Goto Wait_for_Input
ViewStatusBar:
GetMenuStatus("&StatusBar",CHECKED, Res)
If Res = 0
StatusWindow(ENABLE,BOTTOM,2,200,-1,0,0)
DrawStatusWinText(0,"Ready")
ChangeMenuItem("&StatusBar",CHECK,Res)
Else
StatusWindow(DISABLE,BOTTOM,2,200,-1,0,0)
ChangeMenuItem("&StatusBar",UNCHECK,Res)
Endif
Goto Wait_for_Input
CreatingFile:
WaitInput(1)
List$ = "FileGet|FileSave|ChooseColor|ChooseFont|TextBox|ListBox|"
DialogBox(15,10,155,140,"Create dialogbox code",CAP_NCTR, 5,5,32,32,ICON11,
105, 8,138,23,"&Test",14, Res, {0 = test dialog}
105,28,138,43,BTN,PUSH,"&Copy", { 1 = OK}
105,48,138,63,BTN,PUSH,"&Cancel", {2 = Cancel}
20,0,101,60,BTN,GROUP,"Common Dialogs",
25,10,100,18,BTN,AUTORADIO,"FileGet dialog",State1,
25,20,100,28,BTN,AUTORADIO,"FileSave dialog",State2,
25,30,100,38,BTN,AUTORADIO,"ChooseColor STD",State3a,
25,40,100,48,BTN,AUTORADIO,"ChooseColor FULL",State3b,
25,50,100,58,BTN,AUTORADIO,"ChooseFont dialog",State4,
20,65,101,128,BTN,GROUP,"Custom Dialogs",
25,75,100,83,BTN,AUTORADIO,"Number dialog",State5,
25,85,100,93,BTN,AUTORADIO,"Coordinate dialog",State6,
25,95,100,103,BTN,AUTORADIO,"RGB triplet dialog",State7,
25,105,100,113,BTN,AUTORADIO,"Listing dialog",State8,
25,115,100,123,BTN,AUTORADIO,"UserIDPassword",State9)
If Res = 0 { we want to test the dialog, new Res is returned}
If State1 = 1 Then GoSub TestFileGetCode
If State2 = 1 Then GoSub TestFileSaveAsCode
If State3a = 1 Then GoSub TestChooseColorCode1
If State3b = 1 Then GoSub TestChooseColorCode2
If State4 = 1 Then GoSub TestChooseFontCode
Fdx1 = 30 Fdy1 = 30
If State5 = 1 Then FunctionDialogTitle$ = "Enter a number" GoSub ShowFunctionDialog1
If State6 = 1 Then FunctionDialogTitle$ = "Enter a coordinate" GoSub ShowFunctionDialog2
If State7 = 1 Then FunctionDialogTitle$ = "Enter an RGB triplet" GoSub ShowFunctionDialog3
If State8 = 1 Then GoSub ShowListingControl
If State9 = 1 Then GoSub ShowUserIDPassword
Endif
If Res = 0 Then Goto CreatingFile
If Res = 1
If State1 = 1 Then ClipboardPut(FileGetCode$,Res) State1 = 0
If State2 = 1 Then ClipboardPut(FileSaveAsCode$,Res) State2 = 0
If State3a = 1 Then ClipboardPut(ChooseColorCode1$,Res) State3a = 0
If State3b = 1 Then ClipboardPut(ChooseColorCode2$,Res) State3b = 0
If State4 = 1 Then ClipboardPut(ChooseFontCode$,Res) State4 = 0
If State5 = 1 Then ClipboardPut(FunctionDialog1Code$,Res) State5 = 0
If State6 = 1 Then ClipboardPut(FunctionDialog2Code$,Res) State6 = 0
If State7 = 1 Then ClipboardPut(FunctionDialog3Code$,Res) State7 = 0
If State8 = 1 Then ClipboardPut(ListingControlCode$,Res) State8 = 0
If State9 = 1 Then ClipboardPut(UserIDPasswordCode$,Res) State9 = 0
Endif
Goto Wait_for_Input
OpeningFile:
WaitInput(1)
{TODO: add file handling here}
MessageBox(OK,1,INFORMATION,"No operations coded for this button.",
"Opening File",Res)
Goto Wait_for_Input
SavingFile:
WaitInput(1)
{TODO: add file handling here}
MessageBox(OK,1,INFORMATION,"No operations coded for this button.",
"Saving File",Res)
Goto Wait_for_Input
PrintingFile:
WaitInput(1)
{TODO: add file handling here}
MessageBox(OK,1,INFORMATION,"No operations coded for this button.",
"Printing File",Res)
Goto Wait_for_Input
AcceptFile:
GetDragList(FileList$)
{TODO: add file list handling here, or delete this whole label handler}
Goto Wait_for_Input
{--- Style Suggestion: place all subroutines at the end of the script.}
MakeToolbar: {subroutine}
Toolbar( RAISED, PXL_SMALL,
NULL, NULL, SEPARATOR, "", Wait_for_Input,
PXL_NEW, ENABLED, STD, "FileNew", CreatingFile,
PXL_OPEN, ENABLED, STD, "FileOpen", OpeningFile,
PXL_SAVE, ENABLED, STD, "FileSave", SavingFile,
PXL_PRINT, ENABLED, STD,"PrintFile", PrintingFile,
NULL, NULL, SEPARATOR, "", Wait_for_Input,
HELPINFO, ENABLED, STD,"Show Help",ShowAppHelp)
Return
SetUpCodeFragments:
Chr(9,tab$) Chr(10,cr$) Chr(34,qt$)
FileGetCode$ = tab$ + "Filter$ = All Files (*.*),*,*" + CR$ +
tab$ + "Label$ = " + qt$ + "Select a file to open" + qt$ + cr$ +
tab$ + "InitFile$ = " + qt$ + "*.*" + qt$ + cr$ +
tab$ + "InitDir$ = SourceDir$" + cr$ +
tab$ + "FileGet(Filter$,InitFile$,InitDir$,Label$,CHANGEDIR,ChosenFile$)" + cr$
FileSaveAsCode$ = tab$ + "Filter$ = All Files (*.*),*,*" + CR$ +
tab$ + "Label$ = " + qt$ + "Select a file to save" + qt$ + cr$ +
tab$ + "InitFile$ = " + qt$ + "*.*" + qt$ + cr$ +
tab$ + "InitDir$ = SourceDir$" + cr$ +
tab$ + "FileSaveAs(Filter$,InitFile$,InitDir$,Label$,CHANGEDIR,ChosenFile$)" + cr$
ChooseColorCode1$ = tab$ + "DlgTitle$ = " + qt$ + qt$ + "{fill in title}"+ cr$ +
tab$ + "Basic$ = " + qt$ + qt$ + "{fill in string}"+cr$ +
tab$ + "Custom$ = " + qt$ + qt$ + "{fill in string}"+cr$ +
tab$ + "ChooseColor(STD,Red,Green,Blue,X,Y,DlgTitle$,Basic$,Custom$)"
ChooseColorCode2$ = tab$ + "DlgTitle$ = " + qt$ + qt$ + "{fill in title}"+ cr$ +
tab$ + "Basic$ = " + qt$ + qt$ + "{fill in string}"+cr$ +
tab$ + "Custom$ = " + qt$ + qt$ + "{fill in string}"+cr$ +
tab$ + "ChooseColor(FULL,Red,Green,Blue,X,Y,DlgTitle$,Basic$,Custom$)"
ChooseFontCode$ = tab$ + "ChooseFont(Font$,Width,Height,r,g,b,Bold,Italic,Underline,Strikeout)" + cr$
UseFontExCode$ = tab$ + "UseFontExt(Font$,Width,Height,Bold,Italic,Underline,Strikeout,r,g,b)" + cr$
UseFontCode$ = tab$ + "UseFont(Font$,Width,Height,NOBOLD,NOITALIC,NOUNDERLINE,r,g,b)" + cr$
FunctionDialog1Code$ = tab$ + "Fdx1 = <x> Fdy1 = <y> {set the X,Y coordinates} " + cr$ +
tab$ + "FunctionDialogTitle$ = " + qt$ + "<dialog title>" + qt$ + cr$ + cr$ +
"{Move this subroutine to a suitable location, or delete it if already inserted}" + cr$ +
"ShowFunctionDialog1: {subroutine: one numeric input }" + cr$ +
tab$ + "Fdx2 = Fdx1 + 150" + cr$ +
tab$ + "Fdy2 = Fdy1 + 50" + cr$ +
tab$ + "DialogBox(Fdx1, Fdy1,Fdx2,Fdy2,FunctionDialogTitle$,CAP_NCTR," + cr$ +
tab$ + tab$ + "5,15,24,24,QUESTION," + cr$ +
tab$ + tab$ + "110,25,145,40," + qt$ + "&Cancel" + qt$ + ",4,FDRes, {returns 0}" + cr$ +
tab$ + tab$ + "110,5,145,20,BTN,PUSH," + qt$ + "&OK" + qt$ + ", {returns 1}" + cr$ +
tab$ + tab$ + "20,5,105,45,BTN,GROUP," + qt$ + "Numeric Input" + qt$ + ", {edit string}" + cr$ +
tab$ + tab$ + "48,23,100,33,STATIC,LEFT," + qt$ + "Input value" + qt$ + ", {edit string}" + cr$ +
tab$ + tab$ + "25,17,45,27,EDIT,NUMBER,InputValue$,InputValue$}" + cr$ +
tab$ + "Return" + cr$
FunctionDialog2Code$ = tab$ + "Fdx1 = <x> Fdy1 = <y> {set the X,Y coordinates}" + cr$ +
tab$ + "FunctionDialogTitle$ = " + qt$ + "<dialog title>" + qt$ + cr$ + cr$ +
"{Move this subroutine to a suitable location, or delete it if already inserted}" + cr$ +
"ShowFunctionDialog2: {subroutine: two numeric inputs}"+ cr$ +
tab$ + "Fdx2 = Fdx1 + 150" + cr$ +
tab$ + "Fdy2 = Fdy1 + 50" + cr$ +
tab$ + "DialogBox(Fdx1, Fdy1,Fdx2,Fdy2,FunctionDialogTitle$,CAP_NCTR, "+ cr$ +
tab$ + tab$ + "5,15,24,24,QUESTION," + cr$ +
tab$ + tab$ + "110,25,145,40," + qt$ + "&Cancel" + qt$ + ",6,FDRes, {returns 0}"+ cr$ +
tab$ + tab$ + "110,5,145,20,BTN,PUSH," + qt$ +"&OK"+ qt$ +", {returns 1}"+ cr$ +
tab$ + tab$ + "20,5,105,45,BTN,GROUP," + qt$ + "Numeric Input"+ qt$ + ", {edit string}"+ cr$ +
tab$ + tab$ + "48,17,100,27,STATIC,LEFT," + qt$ + "High range value"+ qt$ + ", {edit string}"+ cr$ +
tab$ + tab$ + "25,17,45,27,EDIT,NUMBER,HiRange$,HiRange$,"+ cr$ +
tab$ + tab$ + "48,29,100,39,STATIC,LEFT," + qt$ + "Low range value"+ qt$ + ", {edit string}"+ cr$ +
tab$ + tab$ + "25,29,45,39,EDIT,NUMBER,LoRange$,LoRange$) "+ cr$ +
tab$ + "Return" + cr$
FunctionDialog3Code$ = tab$ + "Fdx1 = <x> Fdy1 = <y> {set the X,Y coordinates}" + cr$ +
tab$ + "FunctionDialogTitle$ = " + qt$ + "<dialog title>" + qt$ + cr$ + cr$ +
"{Move this subroutine to a suitable location, or delete it if already inserted}" + cr$ +
"ShowFunctionDialog3: {subroutine: three numeric inputs}" + cr$ +
tab$ + "Fdx2 = Fdx1 + 150" + cr$ +
tab$ + "Fdy2 = Fdy1 + 65" + cr$ +
tab$ + "DialogBox(Fdx1, Fdy1,Fdx2,Fdy2,FunctionDialogTitle$,CAP_NCTR,"+ cr$ +
tab$ + tab$ + "5,15,24,24,QUESTION,"+ cr$ +
tab$ + tab$ + "110,35,145,50," + qt$ + "&Cancel" + qt$ + ",8,FDRes, {returns 0}"+ cr$ +
tab$ + tab$ + "110,15,145,30,BTN,PUSH," + qt$ + "&OK" + qt$ + ", {returns 1}"+ cr$ +
tab$ + tab$ + "20,5,105,55,BTN,GROUP," + qt$ + "Numeric Input" + qt$ + " , {edit string}"+ cr$ +
tab$ + tab$ + "48,17,100,27,STATIC,LEFT," + qt$ + "High range value" + qt$ + " , {edit string}"+ cr$ +
tab$ + tab$ + "25,17,45,27,EDIT,NUMBER,HiRange$,HiRange$,"+ cr$ +
tab$ + tab$ + "48,29,100,39,STATIC,LEFT," + qt$ + "Mid range value" + qt$ + " , {edit string}"+ cr$ +
tab$ + tab$ + "25,29,45,39,EDIT,NUMBER,MidRange$,MidRange$,"+ cr$ +
tab$ + tab$ + "48,41,100,51,STATIC,LEFT," + qt$ + "Low range value" + qt$ + " , {edit string}"+ cr$ +
tab$ + tab$ + "25,41,45,51,EDIT,NUMBER,LoRange$,LoRange$)"+ cr$ +
tab$ + "Return"+ cr$
ListingControlCode$ = tab$ + "Fdx1 = <x> Fdy1 = <y> {set the X,Y coordinates}" + cr$ +
"{Move this subroutine to a suitable location, or delete it if already inserted}" + cr$ +
"ShowListingControl: {subroutine}" + cr$ +
tab$ + "Fdx2 = Fdx1 + 210" + cr$ +
tab$ + "Fdy2 = Fdy1 + 160" + cr$ +
tab$ + "Msg$ = " + qt$ + "Fill this string with the initial text, eg with FileRead_ASCII" + qt$ + cr$ +
tab$ + "DialogBox(Fdx1,Fdy1,Fdx2,Fdy2," + qt$ + "Edit Control Dialog Box" + qt$ + ", CAP_NCTR, " + cr$ +
tab$ + tab$ + "15,25, 48,48, ICON01, " + cr$ +
tab$ + tab$ + "30,145,80,158," + qt$ + "&Cancel" + qt$ + ", 2, Res," + cr$ +
tab$ + tab$ + "130,145,180,158,BTN, PUSH," + qt$ +"&OK," + qt$ + cr$ +
tab$ + tab$ + " 5,5,205,143,EDIT,MLSTRING,Msg$,Res2$)" + cr$ +
tab$ + "Return" + cr$
UserIDPasswordCode$ = tab$ + "Fdx1 = <x> Fdy1 = <y> {set the X,Y coordinates}" + cr$ +
"{Move this subroutine to a suitable location, or delete it if already inserted}" + cr$ +
"ShowUserIDPassword: {subroutine}" + cr$ +
tab$ + "Fdx2 = Fdx1 + 230" + cr$ +
tab$ + "Fdy2 = Fdy1 + 90" + cr$ +
tab$ + "Msg$ = " + qt$ + "Please enter your UserID and Password" + qt$ + cr$ +
tab$ + "Info$ = " + qt$ + "Information" + qt$ + cr$ +
tab$ + "MoreInfo$ = " + qt$ + "<insert desired instruction string>" + qt$ + cr$ +
tab$ + "DialogBox(Fdx1,Fdy1,Fdx2,Fdy2," + qt$ + "UserID and Password Entry" + qt$ + ", CAP_NCTR," + cr$ +
tab$ + tab$ + "350,110, 64,64, WINLOGO, " + cr$ +
tab$ + tab$ + "170,15,220,30," + qt$ + "&Cancel" + qt$ + ", 6, Res, {returns 0}" + cr$ +
tab$ + tab$ + "170,35,220,50,BTN,PUSH," + qt$ + "&OK" + qt$ + ", {returns 1}" + cr$ +
tab$ + tab$ + "25,2,165,18,STATIC, LEFT, Msg$ ," + cr$ +
tab$ + tab$ + " 4,17,160,30,EDIT,STRING," + qt$ + qt$ + ",UserID$," + cr$ +
tab$ + tab$ + " 4,37,160,50,EDIT,PASSWORD," + qt$ + qt$ + ",Pwd$," + cr$ +
tab$ + tab$ + " 4,52,160,88,BTN,GROUP,Info$," + cr$ +
tab$ + tab$ + " 6,60,158,87,STATIC,LEFT,MoreInfo$)" + cr$ +
tab$ + "Return" + cr$
Return
TestFileGetCode:
Filter$ = "All Files (*.*),*,*"
Label$ = "Select a file to open"
InitFile$ = "*.*"
InitDir$ = SourceDir$
FileGet(Filter$,InitFile$,InitDir$,Label$,CHANGEDIR,ChosenFile$)
Res = 1
If ChosenFile$ = "" Then Res = 0
Return
TestFileSaveAsCode:
Filter$ = "All Files (*.*),*,*"
Label$ = "Select a file to save"
InitFile$ = "*.*"
InitDir$ = SourceDir$
FileSaveAs(Filter$,InitFile$,InitDir$,Label$,CHANGEDIR,ChosenFile$)
Res = 1
If ChosenFile$ = "" Then Res = 0
Return
TestChooseColorCode1:
Basic$ = "" {fill in string}
Custom$ = "" {fill in string}
ChooseColor(STD,Red,Green,Blue,X,Y,DlgTitle$,Basic$,Custom$)
Res = 1
If Red = -1 Then Res = 0
Return
TestChooseColorCode2:
Basic$ = "" {fill in string}
Custom$ = "" {fill in string}
ChooseColor(FULL,Red,Green,Blue,X,Y,DlgTitle$,Basic$,Custom$)
Res = 1
If Red = -1 Then Res = 0
Return
TestChooseFontCode:
ChooseFont(Font$,Width,Height,r,g,b,Bold,Italic,Underline,Strikeout)
Res = 1
If Font$ = "" Then Res = 0
Return
ShowFunctionDialog1: {subroutine: one numeric input }
Fdx2 = Fdx1 + 150
Fdy2 = Fdy1 + 50
DialogBox(Fdx1, Fdy1,Fdx2,Fdy2,FunctionDialogTitle$,CAP_NCTR,
5,15,24,24,QUESTION,
110,25,145,40,"&Cancel",4,Res, {returns 0}
110,5,145,20,BTN,PUSH,"&OK", {returns 1}
20,5,105,45,BTN,GROUP,"Numeric Input", {edit string}
48,23,100,33,STATIC,LEFT,"Input value", {edit string}
25,17,45,27,EDIT,NUMBER,InputValue$,InputValue$)
Return
ShowFunctionDialog2: {subroutine: two numeric inputs}
Fdx2 = Fdx1 + 150
Fdy2 = Fdy1 + 50
DialogBox(Fdx1, Fdy1,Fdx2,Fdy2,FunctionDialogTitle$,CAP_NCTR,
5,15,24,24,QUESTION,
110,25,145,40,"&Cancel",6,Res, {returns 0}
110,5,145,20,BTN,PUSH,"&OK", {returns 1}
20,5,105,45,BTN,GROUP,"Numeric Input", {edit string}
48,17,100,27,STATIC,LEFT,"High range value", {edit string}
25,17,45,27,EDIT,NUMBER,HiRange$,HiRange$,
48,29,100,39,STATIC,LEFT,"Low range value", {edit string}
25,29,45,39,EDIT,NUMBER,LoRange$,LoRange$)
Return
ShowFunctionDialog3: {subroutine: three numeric inputs}
Fdx2 = Fdx1 + 150
Fdy2 = Fdy1 + 65
DialogBox(Fdx1, Fdy1,Fdx2,Fdy2,FunctionDialogTitle$,CAP_NCTR,
5,15,24,24,QUESTION,
110,35,145,50,"&Cancel",8,Res, {returns 0}
110,15,145,30,BTN,PUSH,"&OK", {returns 1}
20,5,105,55,BTN,GROUP,"Numeric Input", {edit string}
48,17,100,27,STATIC,LEFT,"High range value", {edit string}
25,17,45,27,EDIT,NUMBER,HiRange$,HiRange$,
48,29,100,39,STATIC,LEFT,"Mid range value", {edit string}
25,29,45,39,EDIT,NUMBER,MidRange$,MidRange$,
48,41,100,51,STATIC,LEFT,"Low range value", {edit string}
25,41,45,51,EDIT,NUMBER,LoRange$,LoRange$)
Return
ShowListingControl: {subroutine}
Fdx2 = Fdx1 + 210
Fdy2 = Fdy1 + 160
Msg$ = "Fill this string with the initial text, eg with FileRead_ASCII"
DialogBox(Fdx1,Fdy1,Fdx2,Fdy2,"Edit Control Dialog Box", CAP_NCTR,
15,25, 48,48, ICON01,
30,145,80,158,"&Cancel", 2, Res,
130,145,180,158,BTN, PUSH,"&OK",
5,5,205,143,EDIT,MLSTRING,Msg$,Res2$)
Return
ShowUserIDPassword: {subroutine}
Fdx2 = Fdx1 + 230
Fdy2 = Fdy1 + 90
Msg$ = "Please enter your UserID and Password"
Info$ = "Information"
MoreInfo$ = "User IDs and Passwords are automatically checked by the Server. Once verified you will be logged into your secure user account."
DialogBox(Fdx1,Fdy1,Fdx2,Fdy2,"Custom Password Box using DialogBox command", CAP_NCTR,
350,110, 64,64, WINLOGO,
170,15,220,30,"&Cancel", 6, Res, {returns 0}
170,35,220,50,BTN,PUSH,"&OK", {returns 1}
25,2,165,18,STATIC, LEFT, Msg$ ,
4,17,160,30,EDIT,STRING,"",UserID$,
4,37,160,50,EDIT,PASSWORD,"",Pwd$,
4,52,160,88,BTN,GROUP,Info$,
6,60,158,87,STATIC,LEFT,MoreInfo$)
Return